Today graphical pictures may be printed or displayed on a raster scan screen. The pictures may be computer generated or may be otherwise generated and then scanned by an electronic graphic scanner that converts an image into a video raster graphic image. The smallest element on such a screen or printer is a pixel or picture element.
The present invention relates to raster image processing software used in printer or screen controllers. The raster image processing (RIP) in computer graphics is the component (hardware, software or both) that prepares data for raster output (screen or printer). The software operation codes or opcodes is that part of the machine instruction that tells the computer what to do. The whole task of printing can be divided into the two subtasks of interpretation and rendering.
Out of the total processing time interpretations takes about 20 percent of the time whereas rendering takes around 80 percent of the time. During interpretations each line of source language is translated into machine language and then executed. In rendering, a 3-D image is created that incorporate the simulation of lighting effects, such as shadows and reflection.
The shading operation code (opcode) is one of the many opcodes which constitutes rendering subsystems. While using the software packages like Adobe Illustrator of Adobe Systems, Inc., Mountain View, Calif., the programmer draws an arbitrary figure and chooses the type of shading to generate the special effects. The Adobe system uses PostScript (a page description language) commands. These commands are language statements in ASCII text that are translated into a printer machine language by a PostScript interpreter built into the printer. When a Postscript file is submitted to a printer, during interpretation stage, this arbitrary figure is divided into graphics rendering primitives where the gray value at each and every pixel is a linear or nonlinear function of its position in the primitive. A primitive is a graphic element such as a point, line, arc, cone or sphere used as a building block for creating images.
To optimize the performance, the nonlinear function is represented by a lookup table with predefined values in an array, matrix, etc. or within a data file. The index into the lookup table is calculated for every pixel using the base value and the gradient in both x and y directions as well as the position of the pixel in the primitive. Sometimes the index does not fall into the lookup table because of precision problems associated with the computations or may be due to the nonlinear nature of the function associated with it.
The core loop of the opcode should have two boundary checks for the index to avoid accessing outside the lookup table area. These checks introduce additional instructions and hence increases the time taken for rendering one pixel.
It is desirable to provide a method for reducing the time take for rendering each and every pixel in the case of shading opcodes.